Hand-held devices, such as those equipped with bar code readers, have received increasing commercial attention in the past few years. Hand-held devices, such as hand-held data collection terminals or hand-held personal computers, have been widely implemented in the retail marketplace and have garnered increasing utilization in a diverse range of application areas. The ever-decreasing cost and size of hand-held devices has facilitated their entry into a wide variety of businesses, institutions, and agencies.
A hand-held device having a bar code reader adeptly accesses and retrieves data stored in the form of a bar code label. Data representing virtually any product or service found in the marketplace may be encoded in a bar code label for later access by a hand-held device having a bar code reader. For these reasons, hand-held devices are now actively used for planning, controlling, producing, and analyzing most aspects of commerce.
FIG. 1 illustrates a representative hand-held device 102 and a bar code label 101. The data encoded in the bar code label 101 may be read or accessed by the hand-held device 102 through its bar code reader 104. In this representative example, the hand-held device 102 comprises two major components, a body 103 and a handle 105. The front end of the body 103 houses the bar code reader 104. The handle 105 includes a trigger 106 through which a device operator initiates scanning or imaging of a bar code label, such as the bar code label 101. Bar code readers include laser scanners as well as other means such as a still camera. If the imaging succeeds, then the data encoded in the bar code label 101 will be presented in an alphanumeric form on a screen 107 of the hand-held device 102. In addition, an audible beep will typically be generated through a speaker 108 as the result of a successful imaging. The hand-held device 102 also includes a keyboard 109 through which the device operator may input additional information to the device.
Bar code symbologies suitable for scanning or imaging exist in a variety of types. Linear symbologies, such as the bar code label 101, are symbols where data is encoded as parallel arrangements of alternating, multiple-width bars and spaces (e.g., UPC, Code 39, Code 93, etc.). Stacked symbologies or multi-row symbologies, employ several adjacent rows of multiple-width bars and spaces (e.g., Code 49, PDF417, etc.). Area symbologies, or two dimensional matrix symbologies, employ arrangements of regular polygon-shaped data cells where the center-to-center distance of adjacent data cells is uniform (e.g., MaxiCode, Code One, Data Matrix, Aztec Code, etc.). As used generally herein, a bar code symbol refers to a symbol from any of the linear, stacked, area and other machine-readable symbologies.
A hand-held device, such as the hand-held device 102 in FIG. 1, may access any type of bar code data, so long as the hand-held device has access to the particular bar code symbology used to encode the scanned or imaged bar code data. A hand-held device typically accesses the bar code symbologies stored in its memory which have been placed in an enabled status. The enabled status for a bar code symbology indicates that the bar code symbology actively serves as a reference against which scanned or imaged bar code data may be compared.
Enabling a bar code symbology on a hand-held device may entail, for example, making the hand-held device aware of the start and stop characters for the symbology. A typical linear symbology contains "start and stop" characters, which are unique to the given symbology and indicate the beginning and end of a given symbol, respectively. Thus, the hand-held device may identify the symbology for imaged or scanned bar code data by comparing its start and stop characters against the start and stop characters of the enabled bar code symbologies on the hand-held device. A typical hand-held device may also have non-enabled bar code symbologies stored in its memory, as well as a means for altering the enablement/non-enablement status of the bar code symbologies stored in the device's memory.
FIG. 2 provides a block diagram of a conventional hand-held device equipped for accessing data encoded in bar code labels. Hand-held device 102 contains a bar code reader 104. The bar code reader 104 images or scans a bar code label and then provides the imaged or scanned bar code data to a computing system 203 for processing. Within the computing system 203, a bar code processor 204 receives the imaged or scanned bar code data from the bar code reader 202. The bar code processor 204 then examines the bar code symbologies presently stored in a memory 205 which the device operator has placed in an "enabled" state. The exemplary memory 205 shown in FIG. 2 contains the bar code symbologies for Code 39, the UPC/EAN Code, Code 128, the MSI Code, and the Interleaved 2 of 5 Code. As shown in this figure, Code 39 and the MSI code have been enabled, while the device operator has not placed the UPC/EAN Code, Code 128, and the Interleaved 2 of 5 Code in an enabled state.
Once the bar code processor 204 identifies the enabled bar code symbology in which the imaged or scanned bar code data has been encoded, then the bar code processor 204 determines the alphanumeric representation for the imaged or scanned bar code data according to the identified bar code symbology. The bar code processor 204 then indicates to the device operator, through a user interface 206, that a correct scan or image has been performed. In a typical hand-held device, a specific audible tone typically indicates a correct scan or image. If the bar code processor 204 cannot identify an enabled bar code symbology which characterizes, or identifies, the imaged or scanned bar code data, then the bar code processor 204 indicates to the device operator, through the user interface 206, that the imaged or scanned bar code data has not been identified.
FIG. 3 provides a flowchart of the typical bar code label imaging or scanning process using a hand-held device 102. In the typical bar code label imaging or scanning process, a bar code reader 104 images or scans a bar code label 101 and provides the imaged or scanned bar code data to a bar code process or bar code processor 204 (step 301). The bar code processor 204 determines whether the imaged or scanned bar code data can be identified according to an enabled bar code symbology in the hand-held device 102 (step 302). In a typical hand-held device 102, if an enabled bar code symbology cannot be identified, the device operator receives an error message stating that the imaged or scanned bar code data could not be identified (step 303). Error algorithms in hand-held devices typically operate at low levels within the device, levels which are inaccessible and generally hidden from the device operator. If the imaged or scanned bar code data can be identified according to an enabled bar code symbology, then the bar code processor 204 translates the scanned bar code label into its alphanumeric representation according to the identified bar code symbology (step 304). Finally, the bar code processor 204 provides an identification, such as a beep, to the device operator that the imaged or scanned bar code data has been identified (step 305).
In some hand-held devices, a bar code reader 104 images or scans a bar code label multiple times before concluding that the imaged or scanned bar code data cannot be identified. Under this voting approach, multiple images or scans of a bar code label permit a bar code symbology to be identified as the "winner" of the voting mechanism. In other words, the bar code reader 104 images or scans the bar code label multiple times, and the bar code processor 204 picks the winning bar code symbology by determining which bar code symbology has been most frequently identified during the multiple images or scans. For example, an error message (step 303) also results when the imaged or scanned bar code data can be identified according to more than one bar code symbology and the bar code processor 204 cannot identify a "winning" bar code symbology. Multiple images or scans of the same bar code label may resolve errors caused by the material upon which the bar code label has been printed, the bar code label itself, or even with the bar code reader. For example, the bar code label may have been printed on a material which is not conducive to imaging or scanning or the bar code label may be encrusted with dust or dirt which interfere with obtaining a successful image or scan of the bar code label.
FIG. 4 provides a graphic depiction of the bar code label imaging or scanning procedure in a conventional bar code reading system. A bar code label 401 contains data which has been encoded in the Code 39 symbology. A bar code reader 104 of a hand-held device 102 images or scans the bar code label 401, creating imaged or scanned bar code data which exists within the hand-held device 102 in electronic form and represents the data recorded in the bar code label. The hand-held device 102 contains three enabled bar code symbologies 403: the UPC/EAN code, the MSI code, and Code 128. Because the Code 39 symbology has not been enabled in the bar code reader 104, the data represented by the bar code label 401 cannot be identified. Under these conditions, a device operator 404 does not receive a signal, such as the customary auditory beep, indicating a correct reading of the bar code label 401. In such circumstances, the hand-held device 102 typically outputs a written error message to the device operator 404 stating that the bar code label 401 could not be identified.
During the imaging or scanning procedure, the typical hand-held device operator 404 does not look at the screen on the hand-held device (e.g., at the screen 107 shown in FIG. 1). The typical device operator 404 merely listens for an auditory beep such as that produced by the speaker 108 shown in FIG. 1. In response to the error message, or in response to the absence of a successful image or scan signal, the device operator 404 may re-image or re-scan bar code label 401. However, since the Code 39 symbology has not been enabled in the hand-held device 402, an incorrect image or scan should again result.
After several unsuccessful images or scans of bar code label 401, device operator 404 will typically assume one of three reasons for the unsuccessful image or scan. The device operator 404 may conclude that the bar code label 401 has been encoded in a bar code symbology which has not been enabled for this hand-held device. The device operator may instead conclude that bar code label 401 contains a defect which prevents a successful imaging or scanning. The device operator 404 may even conclude that the hand-held device 102 has malfunctioned.
Imaging or scanning a bar code label containing intrinsic defects such as those mentioned above, should always result in an erroneous image or scan. Imaging or scanning a bar code label which has been encoded in a bar code symbology which has not been enabled on the imaging or scanning device also results in an erroneous image or scan. However, an erroneous imaging or scanning arising due to non-enablement of a bar code symbology can be resolved by simply enabling the bar code symbology which represents the scanned bar code label. Unfortunately, enabling multiple bar code symbologies on a hand-held device runs counter to a widely accepted method for lowering the probability of misidentifying a bar code label by selecting an inappropriate bar code symbology.
When only a few bar code symbologies (i.e., a single bar code symbology) are enabled on a hand-held device, the intrinsic error conditions will typically produce an incorrect image or scan. In response, the device operator simply re-images or re-scans the bar code label to obtain a correct reading, assuming the particular errors are of limited severity. However, when multiple bar code symbologies have been enabled, the hand-held device will examine the possibility that each of the enabled bar code symbologies could be the bar code symbology in which the bar code label has been encoded. Thus, as the number of enabled bar code symbologies increases, so does the probability of obtaining an error due to a "false positive" identification of a bar code label. In other words, enabling multiple bar code symbologies increases the chance that a bar code label encoded in one bar code symbology will be incorrectly identified as having been encoded in another bar code symbology rather than as an erroneous and unidentifiable bar code image or scan. For example, under certain error conditions, scanned data for a bar code label encoded in a Code 39 bar code symbology may be incorrectly identified as having been encoded in the UPC/EAN code. If the UPC/EAN code has not been enabled on the particular hand-held device receiving this imaged or scanned bar code data, then the hand-held device will properly generate an error message (because the hand-held device will have no opportunity to mischaracterize the scanned data). On the other hand, if the UPC/EAN code has been enabled on this hand-held device, then the imaged or scanned bar code data will be incorrectly characterized according to the UPC/EAN code. In order to reduce the possibility of this type of error, hand-held device manufacturers typically encourage device operators to limit the number of enabled bar code symbologies on their devices.
Over time, the number of bar code symbologies has grown and will most likely continue to grow. Rather than honing in on a few bar code symbologies, which then become the industry standards, the bar code industry has experienced unbounded growth in the number of bar code symbologies. The continued growth in new bar code symbologies arises for two main reasons. First, continued improvements in the fidelity of bar code readers has enabled the development of increasingly dense bar code symbologies which store more information in a given area than earlier bar code symbologies. In addition, the increasing acceptance of bar code symbologies has allowed bar code technology to flourish in industries and markets in which this technology was not previously known. These new markets have tended to develop bar code symbologies particularly adapted for encoding data germane to their respective markets, rather than adopting a pre-existing bar code symbology. For these reasons, the number of bar code symbologies has grown over time. Industry analysts believe the number of bar code symbologies will continue to increase in the future.
As a result of the continued growth of bar code technology, hand-held devices having bar code readers must accommodate, in one fashion or another, ever increasing numbers of bar code symbologies. However, accommodating new bar code symbologies is more complicated than merely acquiring additional memory for storing the new bar code symbologies. As discussed above, increasing the number of enabled bar code symbologies in a hand-held device runs counter to the widely accepted procedure for reducing the probability of a false positive error when imaging or scanning a bar code label. If a typical bar code processor cannot locate an enabled bar code symbology in which imaged or scanned bar code data has been expressed, then the bar code processor indicates to the device operator, through a user interface, that an incorrect image or scan has occurred.
In a typical operating environment, the device operator frequently only works with data encoded in one particular bar code symbology and may, in fact, never utilize data encoded in any other bar code symbology. Thus, in some operating environments, even if a set of imaged or scanned bar code data could be expressed properly in a Code 128 symbology, for example, it would always be an error to characterize the imaged or scanned bar code data according to Code 128 because the imaged or scanned bar code data for this particular environment is always encoded according to the Code 39 symbology. Conventional hand-held devices have been designed with this environment in mind.
On the other hand, other operating environments exist where a hand-held device may image or scan bar code data which has been encoded in a variety of bar code symbologies. In such environments, the device operator may forget, or simply not know, that multiple bar code symbologies may be encountered. In addition, a hand-held device may be moved from one environment where the bar code labels are always of one type (e.g., Code 128) to another environment where the bar code labels are always of another type (e.g., Code 39). If the device operator in the new environment does not know to enable the proper bar code symbology for this environment, then no bar code labels will be properly identified in the new environment.
Hand-held devices are primarily intended for technically unsophisticated operators. The typical hand-held device operator has neither adequate training nor a rudimentary understanding of the basic principles upon which the hand-held device operates, compounding the practical limitations of the conventional hand-held device. Consequently, if a typical device operator begins imaging or scanning bar code data which has been encoded in a non-enabled symbology, the device operator may conclude that the hand-held device has malfunctioned. Repeated erroneous images or scans of a bar code label may, in fact, reinforce the device operator's impression that the hand-held device has broken down. Such a situation may arise in a variety of circumstances. For example, the device operator may encounter a bar code label which has been encoded in a bar code symbology which is not typical of the bar code symbologies heretofore scanned by the operator's hand-held device. This type of bar code symbology will frequently not be enabled on the device operator's hand-held device and may well not even be stored in memory on the hand-held device. This problem may also arise when a device operator receives a new hand-held device which has been transferred from another area, such as another division of his company, and this new hand-held device does not contain the device operator's typical set of enabled bar code symbologies.
As discussed above, only a few industries have bar code standards, although particular industries, such as the health care industry, have adopted standards. However, even in the health care industry, a given hospital may maintain both a blood collection program operating under the health care industry standard and a supply warehouse operating under a commercial standard. Thus, it is quite common for more than a single bar code symbology to be used in the same location, even when the bar code labels conform to industry standards. In such an environment, the hand-held device may not operate properly when moved from one internal location to another, unless the device operator knows to enable a new set of bar code symbologies.
The relative unsophistication of the typical hand-held device operator coupled with the dearth of user information typically provided with or by hand-held devices results in many properly operating hand-held devices being returned to the manufacturer as defective. Some manufacturers have found that fully half of the hand-held devices returned to them as defective, in fact, contain no defects at all. For example, a device operator may have made multiple images or scans of a bar code label expressed in a bar code symbology not enabled on the hand-held device. After repeated failures at imaging or scanning the bar code label, the device operator then concludes that the device has malfunctioned and sends it back to the manufacturer for repair. In reality, the hand-held device works properly, and the device operator has merely scanned a bar code label expressed in a bar code symbology which was not enabled on that particular device. As shown in FIG. 2, a bar code symbology may, in fact, be stored on the hand-held device but just not presently enabled. Hand-held device manufacturers are understandably eager to reduce the number of hand-held devices returned to them as inoperable which are, in fact, in proper working condition.
This paradigm of a hand-held device not appearing to function properly can also arise with other inputs and outputs to the device. For example, a particular input key on the hand-held device may not be presently enabled but could be enabled by selecting a parameter within the device representing the input key. In fact, a hand-held device may have numerous input and output devices whose parameters do not have an enabled status. This situation arises more and more frequently as hand-held devices continue to be utilized in new areas. Features provided for operations in one environment may not be normally needed in another environment, so these features are disabled. However, if the hand-held device is moved to another environment, the disabled features may become quite useful and should be enabled.